<!DOCTYPE html>
<html>
 <head>
  <title>CSS Test: CSSOM StyleSheet Modify Rule List</title>
  <link rel="author" title="Bear Travis" href="mailto:betravis@adobe.com">
  <link rel="reviewer" title="Ms2ger" href="mailto:ms2ger@gmail.com"> <!-- 2012-06-17 -->
  <link rel="help" href="http://www.w3.org/TR/cssom/#the-cssstylesheet-interface">
  <link rel="help" href="http://www.w3.org/TR/cssom/#the-cssrule-interface">
  <meta name="flags" content="dom">
  <meta name="assert" content="StyleSheet and CSSStyleSheet objects have the properties specified in their interfaces">
  <script src="/resources/testharness.js" type="text/javascript"></script>
  <script src="/resources/testharnessreport.js" type="text/javascript"></script>
  <style id="styleElement" type="text/css" media="all" title="internal style sheet" disabled="disabled">
    * { margin: 0; padding: 0; }
  </style>
  <script id="metadata_cache">/*
{
  "add_rule": {
    "assert": ["Initial rule list is of size 1",
               "Can add a rule at first index"]
  },
  "delete_rule": { "assert": "Can delete rules until rule list is empty" }
}
*/</script>
 </head>
 <body>
  <noscript>Test not run - javascript required.</noscript>
  <div id="log"></div>
  <script type="text/javascript">
  var sheet = document.getElementById("styleElement").sheet;
  test(function() {
    assert_equals(sheet.cssRules.length, 1);
    sheet.insertRule("p { color: green; }", 0);
    assert_equals(sheet.cssRules.length, 2);
    assert_equals(sheet.cssRules.item(0).cssText, "p { color: green; }");
  }, "add_rule", {
    assert: [   "Initial rule list is of size 1",
                "Can add a rule at first index" ]
  });
  
  test(function() {
    sheet.deleteRule(0);
    assert_equals(sheet.cssRules.length, 1);
    sheet.deleteRule(0);
    assert_equals(sheet.cssRules.length, 0);
  }, "delete_rule", {
    assert: "Can delete rules until rule list is empty"
  });
  </script>
 </body>
</html>
